#include "init.h"
#include "macro.h"
#include <QFile>
#define WEB_PAGE_DIR_NAME "www/GeneratedFile"
#define WEB_PAGE_DIR_TemplateNAME "www/template"
#define Template_Node_Name "node_std"

Init::Init(QObject *parent) :
    QObject(parent)
{
   //QTextCodec *textc=QTextCodec::codecForName("utf8");
    //QTextCodec::setCodecForTr(QTextCodec::codecForName("system"));
    //QTextCodec::setCodecForCStrings(textc);

#ifdef ANDROID
    QFile fileDB(QDir::currentPath()+"/"DB_NAME);
    if(!fileDB.exists())
    {
        qDebug()<<QFile::copy(":/database/"DB_NAME,QDir::currentPath()+"/"DB_NAME);
        QFile::setPermissions(QDir::currentPath()+"/"DB_NAME,QFile::ReadOwner|QFile::WriteOwner);
    }
#endif

    /*确保将资源文件中的web文件都拷贝到当前目录下*/
#ifdef EnableWebServer
    QDir dir(QDir::currentPath()+"/www/template/node_std");
    if(!dir.exists())
    {
        dir.mkpath(QDir::currentPath()+"/www/template/node_std");
    }
    dir.setPath(QDir::currentPath()+"/www/GeneratedFile");
    if(!dir.exists())
    {
        dir.mkpath(QDir::currentPath()+"/www/GeneratedFile");
    }

    QFile fileWeb(QDir::currentPath()+"/www/template/index.html"); //也可以是template文件夹中的其他文件
    if(!fileWeb.exists())
    {
        copyDir(QDir::currentPath()+"/www/template/",":/Web/www/template");
        copyDir(QDir::currentPath()+"/www/template/node_std",":/Web/www/template/node_std");

    }

#endif
}

//把oldDir目录下的文件拷贝到newDirName，不拷贝文件夹
void Init::copyDir(QString newDirName, QString oldDirName)
{
    QDir dir(oldDirName);
    QFile file;
    QStringList listFileName=dir.entryList(QDir::Files);
    while(!listFileName.isEmpty())
    {
        file.setFileName(oldDirName+"/"+listFileName.at(0));
        file.copy(newDirName+"/"+listFileName.at(0));
        QFile::setPermissions(newDirName+"/"+listFileName.at(0),QFile::ReadOwner|QFile::WriteOwner);

        listFileName.removeFirst();
    }
}

